#pragma once
#include<vector>


namespace bai
{
	template<class T,class Container=std::vector<T>>

	class stack
	{
	public:
		stack()
			:_c()
		{}

		void push(const T& data)
		{
			_c.push_back(data);
		}

		void pop()
		{
			if (empty())
			{
				return;
			}
			_c.pop_back();
		}

		size_t size()const
		{
			return _c.size();
		}


		bool empty()const
		{
			return _c.empty();
		}

		T& top()
		{
			return _c.back();
		}


		const T& top()const
		{
			return _c.back();
		}

	private:
		Container _c;
	};
}